﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DDD {

    /// <summary>
    /// フィードバック変数
    /// </summary>
    public struct FeedbackVariable {
        /// <summary>
        /// コンストラクター
        /// </summary>
        /// <param name="name">フィードバック変数名</param>
        /// <param name="varry">頂点データ</param>
        /// <param name="postCopy">ポストコピー(null可)</param>
        internal FeedbackVariable (string name, VertexArray varry, VertexArray postCopy) : this() {
            this.Name = name;
            this.VertexArray = varry;
            this.CopyTo = postCopy;
        }

        /// <summary>
        /// Feedback変数名
        /// </summary>
        /// <value>Feedback変数の名前です。</value>
        public string Name { get; private set; }

        /// <summary>
        /// 頂点データ(<see cref="VertexArray"/>)
        /// </summary>
        /// <value>頂点シェーダーによって書き込まれる頂点データです。</value>
        public VertexArray VertexArray { get; private set; }

        /// <summary>
        /// コピー先のVertexArray
        /// </summary>
        public VertexArray CopyTo { get; private set; }

        /// <summary>
        /// <see cref="FeedbackVariable"/>オブジェクトの情報を表示します
        /// </summary>
        /// <returns></returns>
        public override string ToString () {
            return string.Format ("FeedbackVariable:");
        }
      
    }
}
